package com.snpic.appaw.module.insure.service.orc;

import com.snpic.appaw.module.insure.controller.app.orc.vo.OcrCommonReqVO;
import com.snpic.appaw.module.insure.controller.app.orc.vo.OcrCommonRespVO;
import com.snpic.appaw.module.insure.controller.app.orc.vo.VehicleLicenseReqVO;
import com.snpic.appaw.module.insure.controller.app.orc.vo.VehicleLicenseRespVO;
import com.snpic.appaw.module.insure.dal.dataobject.cxProvince.CxProvinceDO;
import com.snpic.appaw.module.third.api.bjpt.dto.iSPolicyQuery.ISPolicyQueryDetailResDTO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;

/**
 * @author JiJun
 * @date 2025/9/11 11:26
 * @修改时间 2025/9/11 11:26
 * @description
 */
public interface ClientOCRService {
	/**
	 * 行驶证(正页识别)
	 *
	 * @param reqVO
	 * @return
	 */
	VehicleLicenseRespVO vehicleLicense(VehicleLicenseReqVO reqVO);

	/**
	 * 根据车牌获取cx_province中的数据,含虚拟员工的信息.
	 *
	 * @param plateNo 车牌
	 * @return
	 */
	public CxProvinceDO getCxProvinceDO(String plateNo);

	/**
	 * 调用报价平台，历史保单查询
	 *
	 * @param comCode
	 * @param userCode
	 * @param plateNo
	 * @return
	 */
	public ISPolicyQueryDetailResDTO invokeQueryHisPolicyDetail(String comCode, String userCode, String plateNo,String vin);

	/**
	 * OCR通用处理方法
	 * @param file 被ORC的文件
	 * @param reqVO
	 * @return
	 */
	OcrCommonRespVO ocrCommonHandle(MultipartFile file, OcrCommonReqVO reqVO) throws IOException;
}
